#
# Here we need all the variables the communication could have (maybe is a connenction, or maybe a usb drive)
#This will be used in a Context Object that will provide one or more of the following contexts
# Context will be used to check Policies. Each piece of data processed should belong at least to one of the following types:

class NetworkContext(object):
	src_ip='0.0.0.0'
	src_port='0'
	direction='<->' # Maybe we have a tcp connection and the end host (dst) is sending something to the src..
	dst_ip='0.0.0.0'
	dst_port='0'
	agent=''
	protocol=''
	protocol_stack=''
	date=''

	__init_(self):
		pass	


class ResourceContext(object):
	resource_type=''
	resource_name=''
	owner=''
	drive=''

	__init_(self):
		pass	

                                                                                                                         
# AppContext?
class HostContext(object):
	hostname=''
	domain_name=''
	current_user=''
	user=''
	application_name=''
	path=''

	__init_(self):
		pass	


class FileContext(object):
	type=''
	name=''
	owner=''
	author=''
	creation_date=''
	modification_date=''
	title=''
	description=''

	__init_(self):
		pass	


class UserContext(object):
	user=''
	user_id=''
	domain_name='

	__init_(self):
		pass	


